SQLServer 客户端链接服务器到Oracle数据库 全攻略 您所在的位置:网站首页 sql server怎么连接到服务器 SQLServer 客户端链接服务器到Oracle数据库 全攻略

SQLServer 客户端链接服务器到Oracle数据库 全攻略

2024-06-15 05:02| 来源: 网络整理| 查看: 265

引言

和第三方公司进行接口对接时,发现某一个模块第三方只提供一个视图,还让我们直接调用他们数据库😂😂😂;下面我就开始了Sql Server服务器远程链接Oracle服务器的旅程。

目录 引言 安装Oracle数据访问组件ODAC1. ODAC包下载地址2. ODAC包解压缩3. ODAC包安装4. 设置环境变量5. 配置tnsnames.ora文件6. 注意事项7. 遇到的问题 Sql Server 远程连接Oracle1. 图形界面创建Oracle链接服务器2. 命令创建Oracle的链接服务器3. 遇到的问题: 总结

安装Oracle数据访问组件ODAC

Oracle数据访问组件ODAC(Oracle Data Access Components)顾名思义就是用来访问Oracle数据库的小程序

1. ODAC包下载地址 ODAC官方下载地址必须选择Oracle对应的版本号,我这边是64-bit ODAC 12.2c Release 1 (12.2.0.1.0) Xcopy for Windows x64下载的安装包名:ODAC122010Xcopy_x64.zip 下载地址 2. ODAC包解压缩 在Sql Server服务器上创建一个目录,将工具压缩包解压到该目录下;然后打开目录;目录下一共有8个文件夹,分别是: 1. instantclient_11_2:这是Oracle客户端,所有组件的运行都依赖于这个客户端;基础包 2. oledb:这是OLE DB组件 3. asp.net:这是ASP.NET2组件 4. asp.net4:这是ASP.NET4组件 5. odp.net4:这是.NET4组件 6. odp.net20:这是.NET2组件 7. oramts:这是Oracle的MTS服务 8. network:这个文件夹不用管,它是用来存放tnsnames.ora文件的,要安装后才能用。 解压目录 3. ODAC包安装 使用"管理员"打开CMD,并进入到ODAC包的解压目录下,执行命令:install.bat all D:\ERP_Oracle Oracle true下面是对执行命令的参数介绍: 1. 第一个参数:all。all代表安装解压目录下文件夹下所有的组件和客户端。如果你不需要这么多组件,只用到其中一个,比如只用到了OLE DB组件,就可以像下面这样只安装客户端和这一个OLE DB组件:install.bat oledb D:\ERP_Oracle Oracle; 2. 第二个参数:D:\ERP_Oracle。这是安装路径,根据自己的实际情况指定,路径中尽量不要有空格、圆括号、汉字; 3. 第三个参数:Oracle。这个叫ORACLE HOME NAME,这个参数可以自定义一个字符串,不一定非得是"Oracle"。这个参数是用来写入注册表的。比如,上面这条语句执行后,会在注册表的以下位置写入(HKEY_LOCAL_MACHINE\SOFTWARE\Oracle\KEY_Oracle),这"KEY_“后面的Oracle就是你在参数中传入的那个"Oracle”; 4. 第四个参数: true。一般只用前三个参数就够了,在安装组件的时候会自动把它依赖的组件都安装上,但如果你只想安装指定的组件,不想装它所依赖的组件,这时才会用到第四个参数。比如:当你安装asp.net时,如果只用前三个参数,会自动把它所依赖的odp.net20和instantclient_11_2也安装上,但如果你再传入第四个参数"false",如下:install.bat asp.net D:\ERP_Oracle Oracle false 这时就只会安装asp.net,而不会把odp.net20和instantclient_11_2也装上。 安装目录 4. 设置环境变量 添加环境变量:ORACLE_HOME=D:\OracleClient将环境变量添加到Path中PATH=%ORACLE_HOME%;%ORACLE_HOME%\bin 环境变量 5. 配置tnsnames.ora文件 如果要用组件访问Oracle数据库,那么就要根据需要配置tnsnames.ora文件,并存放于D:\ERP_Oracle\network\admin目录下在D:\ERP_Oracle\network\admin\sample目录下复制tnsnames.ora文件到D:\ERP_Oracle\network\admin打开tnsnames.ora文件并修改,请参考下面: 配置信息 6. 注意事项 用cmd进入到ODAC的安装路径下,然后运行该路径下的uninstall.bat批处理文件:uninstall.bat all D:\ERP_Oracleinstall.bat和uninstall.bat两个批处理文件会在安装目录下分别产生install.log和uninstall.log两个日志文件 7. 遇到的问题 第一个问题 产生原因:按照1-6步完成,重启服务器后,服务(OracleOracleMTSRecoveryService)没有启动成功,原因是执行D:\ERP_Oracle\bin\omtsreco.exe报错:错误信息解决方法:查询安装程序中是否安装了Microsoft Visual C++ 2015 Redistributable(x64);不限于2015版本 解决方法 第二个问题 产生原因:多次打开Sql Server的链接服务器不会出现“Oracle Provider for OLE DB”解决办法:重新安装ODAC工具包 Sql Server 远程连接Oracle

Sql Server 版本:2019(15.0.2000.5) Oracle 版本:12c(12.2.0.1.0) Windows Server版本:2016

1. 图形界面创建Oracle链接服务器

1.1 打开SSMS以sa身份登录,在左侧的“对象资源管理器”窗口中展开“服务器对象”节点,在其下的“链接服务器”节点上右键选择“新建链接服务器…”,如图: 新建链接服务器

1.2 在弹出的“新建链接服务器”对话框中,按照图示填写,具体说明如下:

链接服务器:链接服务器的别名其他数据源(服务器类型):选择“其他数据源”提供程序:(64位系统)选择Oracle Provider for OLE DB产品名称:一定是“Oracle”,这是固定写法,只要是链接Oracle数据库都得这么写数据源:需要链接的Oracle数据库名称访问接口字符串:可以不填写,也可以填写:MSDASQL 图示说明

1.3 在弹出的“新建链接服务器”对话框中,按照图示填写,具体说明如下:在“安全性”栏的右边选择最下面的“使用此安全上下文建立连接”,然后在下面输入连接到ora(根据自己的实际情况来更改)数据库的用户名和密码。 安全性

1.4 将服务器选项中的RPC、RPC Out 置为True RPC

1.5 待上述步骤全部完成后,点击确定按钮,如果正常的话,就可以成功链接服务器到Oracle数据库了。

2. 命令创建Oracle的链接服务器

下面两条命令语句补全,然后在SQL Server中执行即可创建成功:

-- 创建链接服务器 EXEC master.dbo.sp_addlinkedserver @server = N'别名', @srvproduct=N'库名',@provider=N'MSDAORA', @datasrc=N'TNS名' -- 链接数据库及登录 EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname = N'别名', @locallogin = NULL ,@useself = N'False', @rmtuser = N'模式名', @rmtpassword = N'密码' 3. 遇到的问题: 第一个问题 产生原因:在创建链接服务器,填写完最后确定时,报“无法创建链接服务器 “ORA” 的 OLE DB 访问接口 “OraOLEDB.Oracle” 的实例”错误 报错信息1解决方法:在SSMS->链接服务器->访问接口->OraOLEDB.Oracle的地方右击“属性”出现下面的框,选中“允许进程内” Oracle 第二个问题

产生原因:在创建链接服务器,填写完最后确定时,报“ORA-12154: TNS:could not resolve the connect identifier specified”错误

解决方法:重新检查tnsnames.ora文件中的配置是否正确。

总结 世上无难事,只怕有心人


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有